﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


// npc管理
public class NpcMgr : Singleton<NpcMgr>
{
    // 场景内所有的NPC
    private Dictionary<int, Npc> _allNpc = new Dictionary<int, Npc>();

    public Dictionary<int, Npc> AllNpc
    {
        get { return _allNpc; }
    }

    // 响应创建npc消息
    public static void OnAddSceneNpc(NCmd.Cmd cmd)
    {
        NCmd.AddSceneNpc npcCmd = cmd as NCmd.AddSceneNpc;

        var tableData = NpcTable.Instance[npcCmd.ModelID];
        var modelObj = ResMgr.Instance.GetGameObject(tableData.ModelPath);

        var npc = modelObj.AddComponent<Npc>();
        npc.Init(npcCmd, tableData);
        NpcMgr.Instance._allNpc.Add(npcCmd.ThisID, npc);
    }

    public void Reset()
    {
        // 清空角色列表
        _allNpc.Clear();
    }
}
